package cn.tannn.cat.file.api.preview;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

// 使用示例和配置说明类
public class PreviewUrlConfig {
    private static final Logger log = LoggerFactory.getLogger(PreviewUrlConfig.class);
    /**
     * 环境变量配置说明：
     *
     * 1. TAN_OSS_PREVIEW_EXPIRES：设置预览URL的过期时间（秒）
     *    - 可以通过 System.setProperty() 或系统环境变量设置
     *    - 优先级：环境变量 > 注解参数 > 默认值
     *    - 例如：TAN_OSS_PREVIEW_EXPIRES=3600 (1小时)
     *
     * 2. TAN_OSS_PREVIEW_ENABLE：是否启用预览URL功能
     *    - 可以通过 System.setProperty() 或系统环境变量设置
     *    - true: 启用预览URL生成
     *    - false: 禁用预览URL生成，直接返回原始URL
     *    - 例如：TAN_OSS_PREVIEW_ENABLE=false
     */

    // 编程方式设置（在应用启动时调用）
    public static void configurePreviewUrl(int expires, boolean enabled) {
        System.setProperty("TAN_OSS_PREVIEW_EXPIRES", String.valueOf(expires));
        System.setProperty("TAN_OSS_PREVIEW_ENABLE", String.valueOf(enabled));
    }

    // 获取当前配置
    public static void printCurrentConfig() {
        String expires = System.getProperty("TAN_OSS_PREVIEW_EXPIRES",
                        System.getenv("TAN_OSS_PREVIEW_EXPIRES"));
        String enabled = System.getProperty("TAN_OSS_PREVIEW_ENABLE",
                        System.getenv("TAN_OSS_PREVIEW_ENABLE"));

        log.info("当前预览URL配置:");
        log.info("  过期时间: {}", expires != null ? expires + " 秒" : "使用默认值(86400秒)");
        log.info("  功能启用: {}", enabled != null ? enabled : "使用默认值(true)");
    }
}
